Many different types of semiconductor devices include processing engines that execute instructions. Often times these engines execute instructions that are of firmware of the device itself and stored in a non-volatile memory.
As one example, broadcast video chips such as tuners and demodulators include processors that execute firmware stored in embedded non-volatile memories. However due to updates, code patches and other code revisions, additional code is downloaded to these chips at power up of a system including the chips to aid in processing. In many systems, this code download takes a relatively long amount of time. Due to the length of download, startup of the system, which can be a computer system, television or other video device, can be delayed. Often times the download occurs via a standard bus such as an industry standard inter-integrated (I2C) bus. This bus has a known protocol that is relatively time consuming in downloading a code patch. Nonetheless, due to its industry standard nature and large installed base, manufacturers of systems maintain this bus as the main bidirectional control interface between various chips in the system.